おがた (@xtetsuji) です。
私も歳をとったということなのか、最近は若い人達とお話をする機会が多いです。それほど何か誇れるものがあるわけでもない私のような人の話をわざわざ聞いてくれるなんて、本当にありがたいことです。
若い人達、特に若いITエンジニアの若者が何を目指しているのかというのはいつも興味深く聞いています。どんな仕事がやりたいのか、気になる技術要素は何か、社会の一員としてどういう立ち位置になりたいのか、そして人生の目標は何かといった感じ。
私も20代の血気盛んな若い頃は様々な目標を打ち立てた過去があるので、若い人達の志の高さに心強さも感じますが、反面自分を追い込みすぎではと心配になることもあります。私自身が身の丈に合わない高すぎる目標を立ててしまい、良くも悪くも自分を追い込んでしまいがちな若造だったので、そんな当時の自分に若い人達を重ね合わせて心配が重なることも多いです。
若い人達と飲み交わしたりした際は時々自分の若い頃の体験を断片的に語ったりするのですが、どこかで時間を取って時系列にまとめてみたい気はします。
様々なキャリアプラン、様々な目標の立て方がありますが、よく言われることの一つに「ロールモデルを持つ」ことがあります。ロールモデル不要論もまた語られはしますが、ここで想定しているのは「なんとなく目標としたい人」くらいの気軽さです。
このブログ記事では、私のロールモデルをご紹介しつつ、平凡なITエンジニアでも参考にできるライフスタイルを模索していきます。
Contents
スターエンジニアよりダスターエンジニア
著名なエンジニアはしばしば「スターエンジニア」と呼ばれ、その発言や考え方が多くの人に影響を与えます。特に若い人達はスターエンジニアに憧れる傾向が強い印象を持っています。もっとも、私も若い頃は今よりそういう傾向にあったわけですし、判断基準が年長者より少ない若い人達なら当然のことでしょう。最近は一時期ほどスターエンジニア崇拝も落ち着いたと思えますが、それでもスターエンジニアへの絶対的信仰を持った人にはたまに見かけます。
スターエンジニアの良し悪しは別として、様々な立場の人達の優れたところから自分が良いと思った部分を少しずつ参考にするほうが、長い年月を経てオリジナリティに溢れる人間形成が出来るんじゃないかと今は感じます。もっとも、特定のスターエンジニアにあこがれて、瓜二つのような存在になって成功した「二代目」のような人はIT業界にはいないようにも思えますし、もしそういう人がいたとしても、IT業界の進化の速さなどの要因から伝統芸能のような厚遇が得られるかは疑問です。
目立ちたいとか承認されたいという欲求を持つことは悪いことではないですが、スターになること自体を目的としてスターになることは無いと思います。世の中を良くすることを目的とした上で結果的に注目されることの方が、当然ながら自然の流れでしょう。
例えば、ブラック企業や低賃金といったIT企業に渦巻く問題を掃除するダスター(掃除人)という目標を掲げるような若い人が今後多く現れてくれると心強いですし、私はそういう人達をダスターエンジニアという称号で称賛したいです。私もそういう存在になりたくて、ブラック企業に悩む若い人達との対話を重視しているのかもしれません。
1社目の会社からの影響
大学院を卒業してからIT企業に入った私ですが、もともと私はIT企業に行きたかったわけではなく、子供の頃からの憧れだった学者になるのが無理だと悟り、とりあえずIT業界に来たのでした。
イヤイヤというわけではないものの、特に目標もなく「大学院時代にLinuxを触った知識で食いつなげる」程度のノリでIT業界に来たものの、大学院を卒業して入社した1社目の会社で約10年過ごすこととなります。
新興IT業界にしては相当長い年月在籍したとよく言われますが、それほど愛着があったこそです。もちろん、入社当初は事実上の戦力外通告を受けて雑用的なことから仕事を開始したり、10年の間には誰もが絶句するような凄惨な事件も何度もありましたが、入社した頃にいた尊敬する先輩方の跡を継いで理想のIT企業にしていくべく、微力ながら頑張っていこうという意志があったから10年も頑張れたんだと今でも思います。今でも、もう一度ジョインして理想のIT企業を実現させたいと思うことがありますが、業態がITシステム開発から離れていっていることを伝え聞くに、もうその機会は無いのかもしれません。
この記事を書いているのは2016年2月ですが、そういえば、1社目を退職したのは2014年1月末(実際の最終出社日は相当前ですが)。すでに2年経っているなんて長いですね。
その間、2社目に入社して体調を崩してすぐに2社目を退職して、しばらく療養をした後に今在籍している3社目で平和に仕事をしていることは、他のブログ記事をご参照頂ければと思います。
2年という節目もありますし、 公開しても問題ない一般的な出来事を少しずつ掘り返しつつ、今に学べることを今後も少しずつブログ記事にまとめていきたいなとも考えています。
私のロールモデル:ネットビレッジ編
2003年に入社した1社目の会社はネットビレッジという名前でした(その後社名変更をしましたが、ここではネットビレッジで通します)。大学院を卒業して行き場をなくした私にネットビレッジへ行けとアドバイスしてくれた方がいて、それに従って面接に行ったらアルバイトとして採用されたのが最初です。
私の最初の上司は、現在 Japan Perl Association の理事などで知られる森本淳さん (@shakuji) でした。
私が入社した当時は、森本さんを含めた4人の凄腕ITエンジニアが開発部署だけでなく会社全体に多大な影響を与えており、社員達からは「四天王」と呼ばれ恐れられていました。
当時はプログラミングとインフラが渾然一体な時代です。むしろ、今で言う「ウェブエンジニア」という職種も明確ではありません。当時の花型は Linux に直接関わることでした。
とりあえず学生時代に Linux サーバのいじり方を学んだ私は「インフラ的な仕事をやります」と言ったものの、Debian界隈で著名であり一回りくらい年齢の違う四天王の方々からすると、私なんて大したスキルもない若造です。1年くらいは廃棄パソコンからパーツを取り出したりといった雑用みたいなことをやっていました。
その後ログ処理の仕事をもらったりして、ログ解析をする過程で会社のプロダクトでも使われていた Perl を個人的に使い始めたところから、ウェブプログラマーとしての私の経歴が始まります。
1年ほど経ってからウェブ開発の仕事が振られることとなって、一番驚いたのが自分自身でした(なにせインフラ的なことはできるけれどプログラミングはできないという立場だったので)。最初のウェブ開発の仕事がうまくいき、以後は四天王の方々とは比較的別働隊として、企画部署の若い人達とウェブサイトを作っていくことになります。
今で言う DevOps 的なところの社内にある仕組みの多くは森本さんが作っていたものでした。Makefile と rsync を組み合わせたデプロイシステムなど、必要十分なものは森本さんが用意してくれていたので、森本さんの退職後は私がそれを受け継ぐことになります。
常駐などで関わった方々に「あの仕組みいいですね」と褒められることがたびたびあったのですが、それは大体が森本さんが最初に作ったものなのです。必要十分な DevOps のシステムが2005年には既に完成されていたことは、後から考えても驚くべきことです。
今では嘘だとしか思えないですが、2003年のIT業界はファイルリネームでのバージョン管理が普通でした。そこに当時先進的なバージョン管理システムであったCVS の書籍の監訳者がゴロゴロいたわけで、今で言う DevOps 的なものが先見の明を持って導入されていることは必然であったとも言えるかもしれません。社会人として食いつなぐ一心で入った私にとって、今考えると恵まれすぎる環境でした。
2003年の段階で、コードに今で言うテストの手法が入っていたり、keitairc などで実践された Perl のイベント駆動プログラミングが今で言う ChatOps にも活かされていたこと(当時のチャットシステムは IRC で、イベント駆動フレームワークはPOE。その後社内のPOEのコードをAnyEventに書き直したのは私)は、当時の一般的な新興IT企業の中ではかなり高水準だったと思います。
私にネットビレッジを進めてくれた方は大学院の他学科の先輩で、同じくネットビレッジに在籍していて Debian の X Window System (今の Xorg)のパッケージメンテナの一人でもあった石川睦さん (@HANZUBON) の信奉者とも言える人で、石川睦さんと働くことこそが人生の至高であるということを在学中から何度も教えられていました。そういった影響もあって、入社した当初は石川さんをロールモデルとしていた時期もあったのですが、そもそも石川さんから私があまり戦力としてみなされていなかったこと、そして石川さんの仕事に対する非常な厳しさというものを私が真似をしても人間関係の悪化しか招かなかったこともあって、石川さんをロールモデルとすることは次第にやめていくことになりました。人間一人一人個性があるように、誰が誰をロールモデルとするか、スキルレベル以外にも向き不向きはあるんだなと感じます。
森本さんはプログラマー以外にも、マネージメント、非エンジニア職種への積極的な意見、ビジネス的なバランス、子育て、VJといった様々な才能を持っていて、そういう大域的な活躍の仕方は、今でも自分の生き方を考える上での参考となっています。私が今後 VJ をやるかはわかりませんが。
もう一人ネットビレッジ時代に影響を受けた人に荒木靖宏さん(@ar1)がいます。実際は自分の入社直前に退職していて在職期間がかぶってはいないのですが、私が約10年の在職期間中に触っていたミドルウェアに多大な影響を残した方です。
ネットビレッジが Perl と Postfix でウェブメールを開発する会社ということもあり、私は mod_perl と Postfix のスキルを伸ばしていくことになります。しかしこれらのミドルウェアの導入を決めたのは荒木さんだと教わります。また、荒木さんが書いた書籍「Postfix詳解」を読みながら荒木さんが設計したプロダクトの Postfix システムを解析して独学したり、荒木さんによる教材は私にとって非常に価値あるものばかりでした。
Perl 5.6 が残る2000年初頭、まだ実績が乏しかった mod_perl の導入を決定したのも荒木さんだということを後に教わり、もし荒木さんが FastCGI や Sendmail を導入していたら自分の人生はかなり変わっていたなぁと今でも思います。
ネットビレッジ退職後の荒木さんが研究職へ進んだことも私の憧れでした。社会人としてIT企業に所属した後で研究職へ進むことは現在でこそ珍しい部類で、当時の荒木さんはスゴいなぁと今でも思います。
入社以降、荒木さんとは実際の面識を持ったことがないのですが、実は私が学生時代の2001年に札幌市で行われた Let’s Linux Hokkaido というイベントで一度お会いしています。その時は Linux のとても偉い人という扱われ方でした。この次の日、何かの働きかけがあって一緒に幕別町まで移動して接待パークゴルフをしたりした記憶がありますが、明確な記憶ではありません。とはいえ、今考えると不思議な出会いとも言えます。
今では AWS の中の人である荒木さんに、1社目で AWS で困ったときに何度か Twitter 上で助けていただいたりしましたが、何かの機会があれば実際にお会いして色々とお礼がしたいです。
Perl界隈のスターエンジニアについて
2004年から仕事で本格的にPerlを書き始めて、2006年の YAPC::Asia Tokyo には情報をキャッチできず行けなかったものの、2007年からは毎年行くことになります。それでも、2011年に Hokkaido.pm でトークするまでは、界隈に全く知り合いがいない状態でした(懇親会でも人見知りでほとんど会話できない状態)。もっとも、壇上に経っている人達は完全に別次元の人達だと思っていたくらいです。
もっとも、2009年くらいまではPerl界隈も「雲の上の人達」と、まだ商用環境でもCGIで苦戦しているような「下々の人達」に分かれていて、断絶が殺伐さを生んでいた感じでもありました(それは他のプログラミング言語でも同様でしょう)。ただ、2010年くらいから、それでは業界全体が萎縮してしまうと色々な人達が危機感を持って、結果的に今の良い時代になっていったような印象を持っています。2011年の Hokkaido.pm は、ちょうどよいデビューのタイミングだったのかなとも思います。
Perl界隈のスターエンジニアで必ず登場するのは miyagawa さんこと宮川達彦さん (@miyagawa)でしょう。当時は誰しも miyagawa さんに憧れ、今ではエンジニア界隈で著名な人も miyagawa さんに劣等感を抱く miyagawa syndrome を発症していた人が少なからずいました。
miyagawa さんのスキルを凌駕できたとしても、より良い待遇を得るとか、より良いブランディングをするというところは、また別の問題なのだと思います。
雲の上の人過ぎた miyagawa さんをロールモデルにしようと思ったことはなかったのですが、私もそれなりに劣等感は抱きました。それでも miyagawa さんを観察していてうまいなぁと感じたのは、その時代に求められることを何でも屋になること無くピンポイントで行っていることです。この辺りは自己のブランディングにも通じるところがありますが、miyagawa さんは意識してか無意識かは別として、自己のブランディングが本当にうまいし、そのスキルで自身が心地よい生き方を切り開いていることは特筆すべきことだなと感じます。
Perl界隈に限らず、ITエンジニア界隈には非常に優秀な人がたくさんいます。待遇も良い、承認もされていると、平凡なITエンジニアから見て羨ましいポジションにいる人も多いですが、そのすべての人達が人生全般に対して幸せを感じているかどうかは別で、観察しているとどこか不幸せそうに見える人もいたりします。
成功すれば幸せなのかとか難しい話でもあるのですが、ITエンジニア的幸福論はしばしば思考を巡らせているので、どこかでまとめたくもあります。
私自身、インフラ的なところからITエンジニアをスタートさせたこともあって、Perl界隈ではインフラ寄りの活躍をしている方へ特に注目をしています。とはいえ、ロールモデルというほど明確に意識している方はいないかもしれません(無意識的に参考にさせていただいている方は何人もいると思います)。
歴史上の偉人のロールモデルについて
社会人になってからIT企業に入ったわけですが、それまでは数学などの基礎科学を志していました。その中で、特に歴史上の偉人でロールモデルとなった人がいるかというと、時代も境遇も何もかも違う偉人は、なかなか具体的なロールモデルにしづらいように感じました。若い頃にロールモデルを意識しないのは、まだ現場というものを知らないからなのかもしれません。歴史上の偉人は憧れにはなりますが、自分の生き方の参考にするには少し遠い存在な気もします。
最近は、能力と人格に相関なんて無いと一部で話題にもなりましたが、歴史上の偉人って調べれば調べるほど同じ時代に生きていなくてよかったと感じるほどロクでもない人が多いんですよね。「オルガン付き」交響曲が本当に素晴らしいサン=サーンスも性格の悪さで有名です。クラシック音楽は好きですが、あのゲーム機バキバキ事件とは全く関係なく、クラシック音楽の作曲家や演奏家には近寄らないほうがいいのではないかと以前から感じていたほどです。
数学を専攻していた事もあって、歴史上から現代まで様々な数学者について学びましたが、興味深いなと思ったのはイギリスの数学者であるハーディでした。
ハーディの有名な自伝を通して読んだことはないものの、ワークライフバランスであるとか、同僚(リトルウッド)との共同研究のスタイルなど、凡人の私でも学ぶべきポイントは多いです。若い頃は血気盛んだったと言われるハーディも、ヒルベルトなどの巨人を前に謙遜する素振りも見えたり、人間味のあるところも魅力的です。特定の分野で超一流の学者であるからこそ、自分でも知り得ない正しい事実を無名の若者(ラマヌジャン)が見抜いたことに対して素直になれるということは非常に興味深いです。真の崇高な知性はこのようにあるべきという私なりの哲学にもなっています。
広義のブランディングの重要性について
スターエンジニアを含む著名なITエンジニアを見て参考にするのは、自己のブランディングという側面が大きいかもしれません。スキルを軽視しているというわけではありませんが、スキルをどう良い方向に振り向けるかにおいてブランディングは絶対に必要だというのが今に至る私の考えです。
ブランディングというと、虚構の創作といったネガティブな印象を持たれる方もいらっしゃるかもしれませんが、就職活動等での面接なんかは広義のブランディングの見せ場みたいなもので、終身雇用制が瓦解した今、誰もがブランディングを考えるべき時代になっています。採用側に立った場合、ブランディングをせず外向きの活動が全く分からない人よりも、GitHub でその人が書いたソースコードを気軽に見られる人の方が有利…という以前に好感触を抱くのは自然の流れです。
日本の場合、まだまだ匿名の方が良いという文化が根強く、それはITエンジニア全般でもまだまだ根強いように思えます。とはいえ、会社と個人の間にある採用時の壁が匿名という文化で厚くなり、そこに邪悪なブローカーが介在することによる日本の闇はもっと問題視されても良いように思えます。もっとも、実名によりリスクにさらされることも当然ありますが、子供の頃からITリテラシーを教育される世代が社会の大勢を占める時代になると、実名の使いどころをきちんとおさえた人達によるより良い時代になっていくのではないかと、今から期待しています。
多くの技術要素を勉強することについて
最近ではウェブ業界も成熟して、ひと昔前より覚えるべき技術要素は多くなりました。もちろん、それは今のウェブ業界の「一般教養」でもあり、導入することによりメリットがあるからそうしているわけなのですが、それでも参入障壁というか初期学習コストが増大した感は否めません。
もともと私は子供の頃から学者(科学者や数学者)になりたかったこともあり、多くの事柄をまんべんなく覚えるよりも、とある狭い領域のことを徹底的に研究したい願望があるのですが、一般的なIT業界ではなかなかなかなか難しいことでしょう。コスト感覚に敏感な方には「そんなことでお金が儲かるわけない」と言われそうでもあります。
当然ながらウェブ業界は基礎科学ではないことは承知で私も日々仕事をしているわけなのですが、今後コモディティ化したウェブ業界での基礎科学の重要性は徐々に上がっていくことでしょう。機械学習などのキーワードがもてはやされる時代であることからも、そいういう時代はすでに迫りつつあります。
若いうちは「一般教養」として多くの技術要素をまんべんなく勉強していくことに異論はないのですが、中長期的なスパンで成長していくことを考えると、何かの軸足を持って注力する分野を絞ったほうがよいと感じます。若い人達が広い領域の技術要素の勉強を求められるのは、それを全部極めろというわけではなく、各人が中長期的に注力すべき分野を探すための一般教養の学習時期なのだと捉えるのが自然ではなしょうか。
確かになんでもできることに越したことはありませんが、私が今までであった「何でも屋」は、実際にフタを開けたら何もかも中途半端な人が多かったように思えます。器用貧乏、多芸は無芸とも言われますが、結局は何でもできることは何にもできないことと同じなのかもしれません。
たびたび世間では「フルスタックエンジニア」などとオールラウンダーを歓迎する風潮が出てきますが、あれはマネージャーの無能さを体現した言葉だとしか思えません。
ファイナルファンタジー的に言えば、序盤は剣も白魔法も黒魔法もできる赤魔道士で固めたほうが楽かもしれません。でも、終盤でも赤魔道士のスキルで戦えるとは到底思えず、専門職や上級職で固めることは常識と言えます。プレイヤーが考えるべきことは、各スキルに秀でた専門職達をどうマネージメントするかであり、それこそがIT企業でいうマネージャーのすべきことなのです。赤魔道士を並べて仕事をした気になっているマネージャーは、ファイナルファンタジーの中盤で詰む程度だと思ったほうがいいでしょう。
無能・無策なマネージャーが持ってくることは厄介事だけなことも知っておくべきです。要するに「フルスタックエンジニア」のようなポジションを標榜した人にやってくることは厄介事だけで、結局は何でも屋として使い潰されて終わりということはいつも見聞きすることです。
フルスタックエンジニアという言葉が禁忌であることとは別として、多くの事柄を勉強することは大事ではないでしょうか。特に専門知識がそれほど無い若い頃は、浅くても幅広い知識を持っていることがアピールポイントとなるように思えます。
とはいえ、ある程度以上年齢を重ねて専門知識を持つようになってきたら、あえて専門外のことを知っていても知らないふりをすることが、厄介事を回避するための有効な処世術となることもあります。この、自分の身分を隠す・知らないふりをするということを、私は水戸黄門メソッドと呼んでいます。
特に年齢を重ねると、大した知識でもないことを大げさに言っても若い人に怪訝な顔をされがちです。経験を積んで特定の専門分野で豊富な知識を持っていれば、平均的な知識しかない他の分野では知らないふりをしているくらいがちょうどいいのかもしれません。若い人達の活躍の機会を作ることにもつながります(と勝手に考えています)。
自分自身が年長者として、またはさらに年長者の年少者として、どのように振る舞うかは年齢によって変わってくると思います。社会人数年の若い人たちも、多くの学生達からみたら年長者です。そういう周囲の雰囲気に敏感になりつづけることも、社会から求められ続ける人材となるかどうかの分かれ目なのだと思います。
年齢・性別・時代・職種に関係なく、どのような人を自分のロールモデルにするか。上記でも取り上げた、現代社会にて直面する様々な問題や課題を克服していくために参考になりそうな生き方という側面でもう一度周囲を眺めてみると、今まで見た先輩や偉人もまた別の発見があるかもしれません。私も再度そのような視点で様々な方から学んでいこうと思います。